import Vue from 'vue'
import App from './App'
import store from './store/store.js'

// 导入网路请求
import { $http } from '@escook/request-miniprogram'
// 将按需导入的 $http 挂载到 wx 顶级对象之上，方便全局调用
uni.$http = $http

// 请求跟路径
$http.baseUrl = 'https://www.uinav.com'
// 请求拦截器
$http.beforRequest = function(options) {
  uni.showLoading({
    title: '数据加载中'
  })
  // console.log(options)
  // 判断请求的是否为有权限的 API 接口
  if(options.url.indexOf('/my/') !== -1) {
    // 为请求头添加身份认证字段
    options.header = {
      // 字段的值可以直接从 vuex 中进行获取
      Authorization: store.state.m_user.token,
    }
  }
}

// 响应拦截器
$http.afterRequest = function () {
  uni.hideLoading()
}

// 封装弹框的方法
uni.$showMsg = function(title = '数据请求失败!', duration = 1500) {
  uni.showToast({
    title,
    duration,
    icon: "none"
  })
}

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App,
    // 2. 将 store 挂载到 Vue 实例上
    store
})
app.$mount()
